1. Field of the Disclosure
This application relates to digital communications and, more particularly, to channel and source decoding.
2. Description of the Related Technology
Networked multimedia applications tend to need higher bandwidth, better coding and compression schemes, or both. However, for mobile communications factors such as limited transmit power, limited bandwidth and multi-path fading tend to restrict the data rates provided by available systems. Various encoding schemes have been used to minimize errors while maintaining a desirable data rate, however all of these techniques suffer from problems with errors arriving at the decoder side.
Through the use of a source encoder, data is compressed. Typically, a channel encoder then encodes the compressed source data to maximize the capacity of the transmission channel for a given error rate.
Source coding techniques such as reversible variable length coding (e.g. in MPEG-4) have been used for error recovery by decoding the packet in the reverse order if corrupt packets are in fact received. One type of source coding includes entropy coding. Entropy coding enables efficient lossless representations of symbols generated by information sources. However, although entropy coding may improve compression efficiency, entropy coding also complicates the decoding process. Entropy coders assign a variable length binary data pattern, a codeword, to a one or more source symbols. To improve compression rates, the length of the binary pattern associated with a source symbol increases with decreasing symbol likelihood. Symbols that occur in the source stream with higher frequency are assigned more compact representations. This can enable, on average, a substantial savings over a straightforward symbol alphabet having a fixed-length representation.
However, if transmitted over a channel that is comprised of a stream of bits, variable length codes tend to increase the complexity of the decoder. For example, the ambiguity around how many bits to consume from the bitstream of the channel for the next symbol is addressed by identifying the start and end of each codeword.
Accordingly, improved systems and methods of decoding variable length codes are needed in order to further increase data rates for a given amount of processing power. For example, improved performance of variable length decoders is needed to enable higher data rate multi-media to be decoded by mobile or other low power devices.